# 云胡的编程周报第 001 期
时间:2023/8/14 - 2023/8/20
# 一、点滴记录
数据插入到表的时候一定要判断数据重复问题。
对接口的方法进行实现或者对父类方法进行重写时都要加上
@Override
来在编译时检查参数或者函数名有没有写错。实体类的日期类型不要用
Date
,用LocalDateTime
,Date
是可变类,线程不安全,LocalDateTime
线程安全。可以在实体类的日期类型上加上
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
来自定义日期的格式。一个完整的实体类日期数据:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime;
1
2使用
validation
对dto
参数进行校验,常用注解有:@NotNull
被约束的元素不能为null
,常用来约束Integer
和Long
类型。@NotEmpty
验证字符串、集合、字典或数组是否为null
或者空,常用来约束String
和List
类型。@Min(0)
约束最小值@Max(99)
约束最大值@Size
约束长度。@Size(min = 15, max = 18, message = "身份证必须在 15 位到 18 位之间") @ApiModelProperty(value = "身份证号") private String identityCard;
1
2
3@Valid
校验嵌套对象。这边需要对
ProductInfo
的数据进行校验必须加上@Valid
,如果不加,只是在ProductInfo
实体类中对数据进行校验,那么检验不会生效。@Valid @ApiModelProperty(value = "商品信息对象") List<ProductInfo> productInfoList;
1
2
3@Data public class ProductInfo { @Min(0) @NotNull(message = "商品 id 不能为空") @ApiModelProperty(value = "商品 id ") private Long productId; @Min(0) @Max(100) @NotNull(message = "商品佣金比例不能为空") @ApiModelProperty(value = "商品佣金比例") private Integer productCommissionRate; }
1
2
3
4
5
6
7
8
9
10
11
12
13
Linux Shell
:- 复制:
ctrl + insert
- 粘贴:
shift + insert
- 复制:
Vim
的复制粘贴Vim
默认模式:yy
复制光标所在的那一行,p
进行粘贴。Vim
可视模式:在普通模式下按入v
,进入可视模式。然后多选行,y
复制多行,p
进行粘贴。
本地与
Linux
服务器的文件传输:安装
lrzsz
- 安装命令:
sudo apt-get install lrzsz
使用:
- 本地上传文件到服务器:
rz
,然后选择本地文件即可。 - 服务器文件下载到本地:
sz filePath
,filePath
是服务器的文件路径。
- 安装命令:
使用
Mybatis Plus
的QueryWrapper
查询比较时,用lambda()
,这时候用.eq()
的第一个参数就可以用实体getColumnName
的方式,避免硬编码。- 不规范的查询
@Override public SysUserEntity getSysUserEntity(String username) { QueryWrapper<SysUserEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("username", username); // "username" 硬编码,不规范,而且容易写错 return sysUserMapper.selectOne(queryWrapper); }
1
2
3
4
5
6- 规范的查询,推荐
@Override public SysUserEntity getSysUserEntity(String username) { QueryWrapper<SysUserEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.lambda() .eq(SysUserEntity::getUsername, username); return sysUserMapper.selectOne(queryWrapper); }
1
2
3
4
5
6
7
8
9服务器的
nginx
默认路径在/etc/nginx
,配置文件在这个路径下的nginx.conf
,在进行前后端分离项目时,如果不是放在默认80
端口,需要在这里配置自定义端口与vue
生成的dist
文件的关联。Linux
可以用unzip
解压zip
文件。安装
unzip
- 安装命令:
sudo apt install unzip
使用
unzip
:- 解压到当前目录:
unzip xxx.zip
- 解压到指定目录:
unzip -o xxx.zip -d tmp/
,tmp/
是一个举例的路径,可以换成其他路径。
- 安装命令:
# 二、后记
编程世界博大精深,每天都能感受到技术的薄弱,感觉自己浑身全是破绽,因此打算多记录,用自己的话写下来,毕竟老话说得好,好记性不如烂笔头。
这是编程周报的第一期,今年开始决定把主要精力放在工作和学习技术上,希望自己能坚持下来。
加油。